#include <iostream>
#include <unistd.h>
#include <fcntl.h>

void setNonBlock(int fd)
{
    // 获得文件描述符的标志  open(src_path,O_APPEND | O_CREATE); 
    int flags = fcntl(fd,F_GETFL);
    if(flags < 0)
    {
        perror("fcntl");
        return;
    }
    fcntl(fd,F_SETFL,flags | O_NONBLOCK);
}

int main()
{
    setNonBlock(0);
    while(true)
    {
        char buffer[512];
        std::cin>>buffer;
        ssize_t s = read(0,buffer,sizeof(buffer));
        if(s<0)
        {
            perror("fcntl");
            sleep(2);
        }
        else{
            printf("read:%s\n",buffer);
        }
    }
}